
// 导入模块
const EventEmitter = require( './event.js' );

// 创建 EventEmitter 类的实例(表示个体)
const dispatcher = new EventEmitter();
console.log( dispatcher );

// 这里使用了REST参数
let handler1 = function(...params){
    console.log( 'handler1: ' , ...params ); // 这里的 ... 是展开运算符
}
// 为 '开火' 事件绑定监听器
dispatcher.on( '开火' , handler1 );

let handler2 = function(...params){
    console.log( 'handler2: ' , ...params ); // 这里的 ... 是展开运算符
}
// 为 '开火' 事件绑定监听器
dispatcher.on( '开火' , handler2 );

console.log( dispatcher );

console.log( '- '.repeat( 20 ) );

// 触发 '开火' 事件并传递参数
dispatcher.emit( '开火' , '乌克兰' , '美利坚' );

dispatcher.off( '开火' , handler2 );
console.log( dispatcher );

console.log( '- '.repeat( 20 ) );
// 触发 '开火' 事件并传递参数
dispatcher.emit( '开火' , '乌克兰' , '美利坚' );

dispatcher.off( '开火' , handler1 );
console.log( dispatcher );

console.log( '- '.repeat( 20 ) );
// 触发 '开火' 事件并传递参数
dispatcher.emit( '开火' , '乌克兰' , '美利坚' );

